Method and system of automatically pausing an automated voice session

ABSTRACT

A method for providing communication with an automated voice system includes establishing a first communication session between a caller and the automated voice system. The first communication session includes a call thread. The method also includes receiving a signal indicative of a call event. In response to receiving the signal indicative of the call event, a state of the call thread is saved. The method also includes establishing a second communication session between the caller and the automated voice system at a state of the call thread associated with the saved state of the call thread.

CROSS-REFERENCE TO RELATED APPLICATIONS

This application is a continuation-in-part of U.S. Ser. No. 11/013,222filed Dec. 14, 2004, now U.S. Pat. No. 7,471,774, entitled “Method andSystem of Pausing an IVR System,” which is incorporated herein byreference for all purposes.

TECHNICAL FIELD OF THE INVENTION

This invention relates in general to the field of telecommunications,and more particularly to a method and system of automatically pausing anautomated voice session.

BACKGROUND OF THE INVENTION

An increasing number of telephone callers communicate with automatedvoice systems. As used herein, automated voice systems refers tovoicemail systems as well as interactive voice response systems. Avoicemail system allows a user to access saved voice messages, and ofteninvolves the user responding to a series of verbal prompts by pressing akey on an associated telephone. An interactive voice response systemprovides automated responses to a caller's requests. The caller inputsinformation using spoken words, tones generated by a telephone, or othermethods. In response, the interactive voice response system communicatesinformation through, for example, pre-recorded or synthesized messages.

A problem with traditional voicemail systems and interactive voiceresponse systems is that if a user is disconnected or otherwiseinterrupted, the user may have to call back into the automated voicesystem and repeat already performed steps followed during the originalsession to resume processing where the disconnection occurred.

SUMMARY OF THE INVENTION

A method for providing communication with an automated voice systemincludes establishing a first communication session between a caller andthe automated voice system. The first communication session includes acall thread. The method also includes receiving a signal indicative of acall event. In response to receiving the signal indicative of the callevent, a state of the call thread is saved. The method also includesestablishing a second communication session between the caller and theautomated voice system at a state of the call thread associated with thesaved state of the call thread.

Technical advantages of certain embodiments of the present inventioninclude the ability to resume a call thread with an automated voicesystem, such as an IVR or voicemail system, at a point in the threadwhere a call was interrupted. This allows a user to avoid having torepeat listening to portions of voicemails previously listened to aswell as traversing portions of menus already traversed. Thus, certainembodiments result in a time savings to users.

Other technical advantages of the present invention will be readilyapparent to one skilled in the art from the following figures,descriptions, and claims. Moreover, while specific advantages have beenenumerated above, various embodiments may include all, some, or none ofthe enumerated advantages.

BRIEF DESCRIPTION OF THE DRAWINGS

For a more complete understanding of the present invention and itsadvantages, reference is now made to the following description, taken inconjunction with the accompanying drawings, in which:

FIG. 1 illustrates a communication system with a plurality of endpoints,a voicemail system, and an interactive voice response system inaccordance with a particular embodiment of the present invention;

FIG. 2 illustrates the voicemail system of FIG. 1, in accordance with aparticular embodiment of the present invention; and

FIG. 3 illustrates a method of handling a call to a voicemail systemwhen the call to the voicemail system is interrupted, in accordance witha particular embodiment of the present invention.

DETAILED DESCRIPTION OF EXAMPLE EMBODIMENTS OF THE INVENTION

Embodiments of the present invention and its advantages are bestunderstood by referring to FIGS. 1 through 3 of the drawings, likenumerals being used for like and corresponding parts of the variousdrawings.

FIG. 1 illustrates a communication system 30 including a plurality ofendpoints 32-35 having the ability to establish communication sessionswith each other, a voicemail system 70, and an interactive voiceresponse (IVR) system 60. Such communication sessions may be establishedusing communication networks 40, 41 and/or additional endpoints,components or resources coupled with communication networks 40 or 41.Voicemail system 70 may allow a user to listen to or respond to voicemessages, which may include providing a series of verbal prompts to auser that may be responded to by, for example, pressing keys on atelephone, or through other suitable techniques. IVR system 60 mayprovide answers to caller questions or may transfer callers to a callcenter 148 when unable to answer. IVR system 60 may provide a caller,such as caller 102 using endpoint 32, with a list of menu options and,based on the caller's responses to the menu options, direct the callerto another menu, request further information from the caller, provideinformation to the caller, or transfer the caller to an appropriateautomated service or human representative.

In accordance with particular embodiments, systems and methods areprovided that allow an automated voice system, such as voicemail system70 or IVR system 60, to automatically pause a call thread of a sessionand save the state of the call thread upon detecting a signal indicativeof a call event indicating a pause may be appropriate. Such call eventsinclude disconnection and placing a call on hold, for example. Asession, for example, a voice session, is the active communicationconnection between voicemail system 70 or IVR system 60 and an endpoint32-35. The call event signal received by voicemail system 70 or IVRsystem 60 may include, for example, detecting that caller 102 has placedthe automated voice system on hold, detecting that caller 102 has beendisconnected from the automated voice system, or detecting that caller102 has been nonresponsive to one or more prompts issued from theautomated voice system, or other events that would interrupt a caller'sinteraction with the automated voice system. In response, voicemailsystem 70 or IVR system 60 may pause an ongoing session with caller 102and save the call information so the call may be continued at a latertime. Particular embodiments allow users to resume their call thread atthe same position in the call that the call thread was paused.

Endpoints 32-35 may be any combination of hardware, software and/orencoded logic that provide communication services to a user. Forexample, endpoints 32-35 may include a telephone, a mobile phone, an IPphone, a computer running telephony software, a video monitor, a cameraor any other communication hardware, software and/or encoded logic thatsupports the communication of media using communication network 40. Inthe illustrated embodiment, endpoints 32-34 include an internettelephone, a personal computer and wireless handset, respectively. Awireless base station transmitter/receiver 36 couples endpoint 34 withcommunication network 40. Endpoints 32-35 may also include unattended orautomated systems, gateways, other intermediate components or otherdevices that can establish media sessions. Although FIG. 1 illustratesfour endpoints 32-35, communication system 30 contemplates any numberand type of endpoints 32-35 capable of communicating with voicemailsystem 70 or IVR system 60.

In the illustrated embodiment, endpoint 32 includes processor 50, memory52, network interface 54, codec 56, and user interface 58. Userinterface 58 may include a microphone, video camera, speaker, keyboard,video display, LCD display and/or other device. In accordance withanother embodiment, user interface 58 may be coupled with componentsthat include a microphone, video camera, speaker, keyboard, videodisplay and/or other device, rather than having those componentsincorporated into endpoint 32. Caller 102 may establish a communicationsession with voicemail system 70 or IVR system 60, using endpoint 32.Endpoints 33-35 may include similar or identical components to endpoint32, having similar functionality.

In the illustrated embodiment, voicemail system 70 includes networkinterface 72, processor 74, and memory 76. Processor 74 may be amicroprocessor, controller or any other suitable computing device orresource. Memory 76 may be any form of volatile or nonvolatile memoryincluding, without limitation, magnetic media, optical media, randomaccess memory (RAM), read only memory (ROM), removable media or anyother suitable local or remote memory component. Processor 74 usesmemory 76 to create a call thread and to store call informationassociated with caller 102. The call thread and call information may beat least partially based on responses from caller 102 received byprocessor 74 through network interface 72. Voicemail system 70 receivessignals over communication network 40 through network interface 72. Thesignals are received at processor 74, which determines the proper actionto take based on the information contained in the signals, executesthose actions, and outputs the correct response.

IVR system 60 may include substantially the same components as voicemailsystem 70 (not explicitly shown).

Although specific communication networks 40 and 41 are illustrated inFIG. 1, the term “communication network” should be interpreted asgenerically defining any network capable of transmitting audio and/orvideo telecommunications signals, data and/or messages. Communicationnetwork 40 may be any computer or communication network capable ofcoupling two or more endpoints 32-35 for communication. In theillustrated embodiment, communication network 40 is a wide area network(WAN) that enables communication between a plurality of endpointsdistributed across multiple cities and geographic regions, andcommunication network 41 is a public switched telephone network (PSTN).However, communication networks 40 and/or 41 may be one or morenetworks, including the Internet, the public switched telephone network,local area networks (LANs), global distributed networks such asintranets, extranets or other form of wireless or wireline communicationnetworks. Generally, communication networks 40 and 41 may provide forthe communication of packets, cells, frames and/or other portions ofinformation (generally referred to as packets) between and amongendpoints 32-35, voicemail system 70, IVR system 60, and call center148. Communication paths for the communication of such packets mayinclude any combination of routers, hubs, switches, gateways (e.g.,gateway 42) or other hardware, software or embedded logic implementingany number of communication protocols that allow for the exchange ofpackets in communication system 30.

In a particular embodiment, communication network 40 employscommunication protocols that allow for the addressing or identificationof endpoints 32-35, voicemail system 70, IVR system 60, and call center148, coupled to communication network 40. For example, using Internetprotocol (IP), each of the components coupled together by communicationnetwork 40 in communication system 30 may be identified in informationdirected using IP addresses. In this manner, communication network 40may support any form and combination of point-to-point, multicast,unicast or other techniques for exchanging media packets amongcomponents in communication system 30.

Any given communication session between an endpoint 32-35 and voicemailsystem 70 or IVR system 60 or call center 148 may include the transferof packets across one or more communication paths, that couple endpoints32-35 to voicemail system 70 or IVR system 60 and/or to call center 148across communication network 40. Such paths may include any combinationof network components, gatekeepers, call managers, routers, hubs,switches, gateways, endpoints or other hardware, software or embeddedlogic implementing any number of communication protocols that allow forthe exchange of packets in communication system 30.

Network 40 may be directly coupled to other IP networks including, butnot limited to, the Internet. Because IP networks share a common methodof transmitting data, telecommunication signals may be transmittedbetween telephony devices located on different, but interconnected, IPnetworks. In addition to being coupled to other IP networks, network 40may also be coupled to non-IP telecommunication networks through the useof gateway 42. For example, network 40 is coupled to Public SwitchedTelephone Network (PSTN) 41. PSTN 41 includes switching stations,central offices, mobile telephone switching offices, pager switchingoffices, remote terminals and other related telecommunications equipmentthat are located across the country.

IP networks transmit data (including voice and video data) by placingthe data in packets and sending each packet individually to the selecteddestination. Unlike a circuit-switched network (like PSTN 41), dedicatedbandwidth is not required for the duration of a call or fax transmissionover IP networks. Instead, each telephony device sends packets acrossthe network as they become available for transmission. This featuremakes bandwidth available for other data when voice or fax data is notbeing transmitted.

The technology that allows telecommunications to be transmitted over anIP network may be referred to as Voice over IP (VOIP). In theillustrated embodiment, endpoints 32-34, voicemail system 70, IVR system60, and call center 148 may be IP telephony devices. IP telephonydevices have the capability of encapsulating a user's voice (or otherinputs) into IP packets so that the voice can be transmitted overnetwork 40. Similarly, IP telephony devices 32-34 may have thecapability of capturing and encapsulating video into IP packets so thatthe video can be transmitted over network 40. Conversely, IP telephonydevices 32-34 have the capability of receiving audio or video IP packetsfrom the network 40 and playing the audio or video data to a user.

A codec (coder/decoder) at the endpoint converts the voice, video or faxsignals generated by the users of the telephony devices from analogmedia signals into digital form. The codec may be implemented either insoftware or as special-purpose hardware in the endpoints. In the case ofan IP telephone, as the user speaks into the handset, the codec convertsthe analog voice signals into digital data. The digitally encoded datais then encapsulated into IP packets so that it can be transmitted overnetwork 40. Conversely, another codec at the receiving endpoint convertsthe digital data into analog media for the users of the telephonydevices. In the case of an IP telephone, digital data from IPencapsulated packets are received from the network 40. The codec at thereceiving endpoint converts the digital voice, video or fax data fromthe network 40 into analog media to be played to the users of thetelephony devices.

Gateway 42 may accomplish several functions, such as converting analogor digital circuit-switched data transmitted by PSTN 41 to packetizeddata transmitted by network 40 and vice-versa. When voice data packetsare transmitted from network 40, gateway 42 retrieves the data containedin the incoming packets and converts this digital data to the analog ordigital format used by the PSTN trunk to which gateway 42 is coupled.Since the digital format for voice transmissions over an IP network isoften different than the format used on the digital trunks of PSTN 41,the gateway provides conversion between these different digital formats,which is referred to as transcoding. Gateway 42 also translates betweenthe VOIP call control system and other signaling protocols (e.g., SS7,T1, ISDN, etc.) used in PSTN 41 and translates and/or maps between theIP network addresses and PSTN phone numbers.

For voice transmissions from PSTN 41 to network 40, the process isreversed. In a particular embodiment, gateway 42 takes the incomingvoice transmission (in either analog or digital form) and converts itinto the digital format used by network 40. The digital data is thenencapsulated into IP packets and transmitted over network 40.

FIG. 2 illustrates a voicemail system 80, in accordance with aparticular embodiment, which may be utilized rather than voicemailsystem 70. The teachings of the invention are described by example belowwith reference to automatic pausing of a call thread in voicemail system80; however, the teachings of the invention are also applicable to suchautomatic pausing in an interactive voice response system, such as IVR60. In the illustrated embodiment, voicemail system 80 includes aprocessor 114, a script module 116, a condition detector 126, a statemodule 134, and a database 136. Processor 114 may execute appropriatesoftware (not explicitly shown) for performing its functions, oralternatively may be replaced by firmware or other suitableimplementations. Database 136 includes scripts 138 and interrupted callinformation 140. Voicemail system 80 is operable to automatically pausea call thread of a call session upon receiving a signal indicating acall has been interrupted, such as, for example, the call beingdisconnected or placed on hold. The call thread for a voicemail system80 is the path that caller 102 takes through available menu choicesprovided by voicemail system 80, along with information collected byvoicemail system 80 from caller 102, as well as the identity andlocation within any message listed to or recorded. The call thread alsoindicates at what point caller 102 is in a menu hierarchy and indicateswhat the next action should be, for example, wait for a response fromcaller 102, play a prompt to caller 102, or recite a list of menuoptions to caller 102. A call thread is created when a new communicationsession is established between a caller and voicemail system 80. Thecall thread grows as the caller and voicemail system 80 negotiatethrough the menu hierarchy. Upon detecting another pause condition,voicemail system 80 may pause the call thread with the caller and maysave the call information so the call may be continued at a later time.In addition, any data associated with the call session may be cached bythe system.

A caller 102 may input information to voicemail system 80 using voice,touchtones, or other suitable signaling method, such as those associatedwith an endpoint used by the caller to communicate with the voicemailsystem. In the event the call is disconnected or placed on hold, orotherwise interrupted, this status is received by voicemail system 80and the session is paused. Transmission to voicemail system 80 of thedisconnection, hold, or otherwise interrupted status may be effected byany suitable mechanism, depending upon the environment orimplementation. For example, voicemail system 80 may be configuredaccording to the JTAPI protocol to monitor the calling endpoints(32-35). When the call is, for example, placed on hold, voicemail system80 will receive a CallCtlTermConnHeldEvent signal indicating that thevoicemail session has been placed on hold. This message can be sent byany suitable device such as by gateway 42. Alternatively, the call eventcould be translated into some other event before transmission. Uponreceipt of the received signal indicative of a call event, voicemailsystem 80 pauses the call thread. A similar approach may be used for adisconnect event or other type of interruption, such as hold, callwaiting, or call coming in on another extension. Other protocols mayalso be used to provide similar messages to, and access by, voicemailsystem 80 to the call control message/event channel. To resume thepaused call thread with voicemail system 80, the caller may reestablisha communication session with voicemail system 80. This may be effectedby releasing the call held function, by placing another call, or byother suitable techniques.

The prompts played by voicemail system 80 are determined by scriptmodule 116. The call thread may begin by voicemail system 80 playing awelcome message to caller 102. Voicemail system 80 may then request someinput from caller 102 such as, for example, an identification code. Theinformation entered by caller 102 is interpreted by processor 114, andscript module 116 determines the next prompt and/or stored call to playbased on this information. Processor 114 then retrieves the appropriateprompt and/or stored call from scripts and stored calls 138 in database136. Processor 114 then converts the prompt into signals or packets thatcan be communicated to an endpoint used by caller 102. Prompts ofscripts 138 may include, for example, requests for information fromcaller 102 or a list of menu options from which caller 102 may choose.

Caller 102 may communicate a response by speaking or pressing the keyscorresponding to the requested information and/or menu options. Inparticular embodiments, this dialog between caller 102 and voicemailsystem 80 may continue until caller 102 has listened to all storedmessages and recorded all messages desired to be sent.

During the execution of the voicemail script or playing back orrecording of a message, at least one of two things may be happening: (1)the script module may be interacting with caller 102 (e.g., playing aprompt to caller 102 or collecting voice from caller 102 via speechrecognition, etc.), or (2) the system may be doing some backendprocessing that does not involve direct interaction with caller 102(e.g., database lookup or account number verification).

In the case that a call event occurs that effects automatic pausing ofthe session while the system is interacting with the caller and laterdecides to resume the session, the voicemail system could continue withthe interaction at the point at which it left off or at some othersuitable location. For example, if a call is disconnected while thesystem is playing a recorded message, then, when caller 102 reconnects,the system could continue playing the prompt at the point where it leftoff, replay the message from the beginning, or replay the message atsome time interval prior to where it left off. In one example, this timeinterval is one to five seconds. This time interval may be set or may bedefined by the user.

In the case that a call event occurs that effects automatic pausingwhile the system is doing something other than interacting with thecaller, voicemail system 80 may continue to execute the other action andany following non-interacting actions until an interacting action shouldbe executed. Once the flow of execution has reached a point at which aninteracting action with the caller needs to be executed, the call threadmay be paused. When communication with caller 102 is re-established, thecall thread continues at that interacting action (or at some suitableprevious time period). This could be beneficial in cases when the calldisconnects while voicemail system 80 is, for example, performing adatabase lookup that takes an extended period of time. If this databaselookup were followed by a prompt action, then voicemail system 80 mayexecute the database lookup action but may stop before the prompt actionand wait for reconnection before continuing the call thread.

State module 134 determines the state of the call between caller 102 andvoicemail system 80, playing a message to caller 102 or voicemail system80 performing backend processing. If script module 116 is playing amessage to caller 102 when a call event is received, state module 134may instruct script module 116 to cease playing the message. If statemodule 134 determines that processor 114 is conducting backendprocessing when a call event is received, such as, for example, adatabase lookup, state module 134 may allow the backend processing tocontinue until complete. State module 134 communicates the state of thecall to processor 114, when communications to caller 102 have stoppedand the backend processing is completed or stopped. After receiving thestate information from state module 134, processor 114 communicates thepaused call information 140 and the state information 142 of the pausedsession to database 136 where such information is stored.

State module 134 may contain predetermined save points. Thepredetermined save points may be locations in the call thread at whichit may be natural and intuitive to resume paused dialogue between caller102 and voicemail system 80. Alternatively, the thread may be resumed atany suitable location associated with the point at which the call wasinterrupted. Such locations may include the location where the call wasinterrupted or a particular time period, preset or user-specified,before or after the location at which the thread was interrupted. Whencaller 102 reconnects, the caller's session may continue at the mostrecent save point. This gives caller 102 the advantage of continuing thecall session at a more natural, intuitive location in the thread. Anexample save point may occur prior to requesting caller 102 to enter alengthy account number. A save point prior to such an account numberentry would enable caller 102 to resume entry the account number fromthe beginning of the number rather than attempting to resume in themiddle of entering the account number. A save point may also occur priorto a prompt requesting entry of the account number. As another example,logical save points may occur after caller 102 has responded to anyprompt from voicemail system 80.

When caller 102 reconnects with voicemail system 80, voicemail systemmay identify caller 102 by any suitable technique. For example, caller102 may be identified by the called number, the calling number, or byentry of an account number. Upon identification of caller 102, voicemailsystem 80 may query caller 102 whether he wishes to resume the previousthread that was interrupted. This query may also include options relatedto the location in the thread that it will be resumed. According to oneaspect of the invention, the interrupted thread and the associated stateupon interruption is stored only for a particular time period and/or theuser is only prompted to resume the previously interrupted thread uponreconnection only for that time period. This time period may bedesignated or user-defined. In one example, this time period is 15minutes. Thus, in that example after 15 minutes from interruption, auser will no longer be prompted to continue the previous thread uponreconnection. If the caller 102 indicates a desire not, to resume theprevious call thread, then a new call thread may be initiated. Processor114 may recognize caller 102 by authenticating caller 102.Authentication could occur by any suitable method, including, forexample, verifying a cookie deposited at an endpoint associated withcaller 102, receiving an identification password from caller 102, oridentifying the phone number of an endpoint associated with caller 102by phone number detection.

Upon caller 102 selecting to resume the thread, processor 114 retrievesthe paused call information 140 and state information 142 from database136. State module 134 determines the state at which the call was pausedand communicates the state information to processor 114 and scriptmodule 116. Script module 116 then resumes the call thread where it leftoff, or at other suitable location, as described above. The call maythen continue.

It will be recognized by those of ordinary skill in the art thatvoicemail systems in accordance with particular embodiments may includeany number of processors or memory or other modules to accomplish thefunctionality and features described herein. The use of script module116 and state module 134 to illustrate pausing a call thread for laterresumption and other features is for example purposes only, and theability to pause and resume a call session and perform other featuresmay be implemented using any suitable type of communication hardware,software and/or encoded logic. In addition, any processors, memory, orother modules used, such as processor 114, script module 116, statemodule 134, and database 136, may be centrally located (local) withrespect to one another or distributed throughout a communication networkor system.

FIG. 3 is a flowchart 200 illustrating, in accordance with a particularembodiment, a method of processing an automatic pause of a call thread.The particular example described is with respect to disconnection andreconnection of a caller. Other suitable call events causing automaticpausing, such as a call hold event may utilize analogous processing. Themethod begins with processor 114 and script module 116 initiating thecall thread at step 204. The dialog between caller 102 and voicemailsystem 80 may continue until caller 102 is disconnected from voicemailsystem 80.

At step 206, condition detector 126 determines whether the call has beendisconnected (or otherwise interrupted, such as being placed on hold) byreceipt of a call disconnect signal (or other suitable signal). If thecall is still connected (and otherwise uninterrupted), processor 114checks to see if the call is complete at step 208. If the call iscomplete, the call is ended at step 224. If the call is not complete,the method returns to step 206.

If condition detector 126 determines at step 206 that caller 102 hasbecome disconnected from voicemail system 80, condition detector 126informs processor 114 of this condition, and processor 114 instructsscript module 116 to stop the script at step 210. This disconnection mayoccur, for example, when a user is in the middle of listening to a verylong voicemail message, for example three minutes into a seven minutemessage. The disconnection could have occurred because the user receiveda call from an important caller, such as a company CEO, which requiresthat the user take the call from the important caller and disconnect.The user could disconnect either by hanging up or by pressing the answercall button, which may result in placing the current voicemail sessionon hold. In response to receiving a signal, for example from a PBX, thatthe voicemail call has been placed on hold, state module 134 will reportthe state of the call to processor 114, and processor 114 will store theinterrupted call information 140 and state information 142 in database136 at step 212. The state of the call may be the state at the point intime of receipt of the on-hold message, or may be some associated state,such as a few seconds before or the beginning of the most currentsentence.

When caller 102 calls back into voicemail system 80, processor 114identifies caller 102 as a reconnection of a previously interrupted callat step 214. This could occur in the above example by the callercompleting the call with the company CEO and de-selecting the holdfeature associated with the voicemail call. Caller 102 is authenticatedat step 216, and a determination of whether or not to resume the callthread of the previous call is made at step 218. In some embodiments,the identification of the caller as a reconnection of a previouslydisconnected call may be made when the caller is authenticated. Inparticular embodiments, caller 102 makes the determination whether toresume the previous call thread or to initiate a new call thread. Ifcaller 102 decides to initiate a new call thread, the method returns tostep 204. If caller 102 desires to continue the previous call thread,the call thread is resumed at step 220, at which point the process maycontinue as described above. At step 222, processor 114 checks to see ifthe call is complete. If the call is not complete, the dialog betweencaller 102 and voicemail system 80 continues until the call is completeor until another disconnection is detected. In one embodiment, multipledisconnections of caller 102 from voicemail system 80 may be detected,the call information may be saved, and the call thread from previouscalls may be resumed. In another embodiment, only one disconnection andresumption of a call may be allowed. When the call is complete it isended at step 224.

Some of the steps illustrated in FIG. 3 may be combined, modified ordeleted where appropriate, and additional steps may also be added to theflowchart. Additionally, steps may be performed in any suitable orderwithout departing from the scope of the invention.

Several other example cases are described below. In one example a useris connected to an IVR or voicemail system and receives a second call onthe same line (but with call waiting enabled). When the user answers thecall, the IVR detects that the audio stream between itself and the otherend has stopped. This results in pausing the IVR session and saving thecurrent state. Thus, the user will be able to return to the IVR threadwhere he left off. For example, if the user has traversed a series ofmenu options requiring length responses, the user may avoidre-traversing those same steps again and simply start where he left off.In another example, a user could receive a call on a second line whileengaging in an IVR or voicemail session on the first line. The resultingprocedure is analogous to that described above.

In a third example, a user connected to an IVR or voicemail system isdisconnected for some reason. The automated voice system receives asignal indicating disconnection and reacts by pausing the session andsaving the state of the thread. Upon calling back in the user isidentified by the system, such as by user ID, ANI, and IVR applicationlevel authentication. The system then restores the state and resumes thethread where it left off. The system could set a time period duringwhich the user must call in to be able to resume the state, such as, forexample, 15 minutes. In another embodiment, the system could give theuser the option of continuing from where he left off or starting fromthe beginning with no saved state.

Although the present invention has been described in detail withreference to particular embodiments, it should be understood thatvarious other changes, substitutions, and alterations may be made heretowithout departing from the spirit and scope of the present invention.For example, although the present invention has been described withreference to a number of elements included within communication system30 and voicemail system 80, these elements may be combined, rearranged,or positioned in order to accommodate particular architectures or needs.The present invention contemplates great flexibility in the arrangementof elements as well as their interrelations.

Numerous other changes, substitutions, variations, alterations andmodifications may be ascertained by those skilled in the art and it isintended that the present invention encompass all such changes,substitutions, variations, alterations and modifications as fallingwithin the spirit and scope of the appended claims. Moreover, thepresent invention is not intended to be limited in any way by anystatement in the specification that is not otherwise reflected in theclaims.

1. A method for providing communication with a voicemail systemcomprising: establishing a first communication session between a callerand a voicemail system, the first communication session comprising acall thread; receiving a signal indicative of a call event selected fromthe group consisting of an on-hold event and a disconnect event; inresponse to receiving the signal indicative of the call event, saving astate of the call thread; identifying the caller calling into thevoicemail system by an identifier selected from the group consisting ofan account number entered by the caller, a calling number of the caller,and a called number of the caller; in response to identifying thecaller, querying the caller regarding whether the caller wishes toresume the call thread of the first communications session, but only ifthe caller calls into the voicemail system within 15 minutes of receiptof the signal indicative of the call event; and establishing a secondcommunication session between the caller and the automated voiceresponse system at a state of the call thread associated with the savedstate of the call thread, the state of the call thread associated withthe saved state of the call thread selected from the group consisting ofthe saved state of the called thread and 1-5 seconds before the savedstate of the called thread.
 2. A method for providing communication withan automated voice response system, comprising: establishing a firstcommunication session between a caller and an automated voice system,the first communication session comprising a call thread; receiving asignal indicative of a call event; in response to receiving the signalindicative of the call event, saving a state of the call thread; andestablishing a second communication session between the caller and theautomated voice system at a state of the call thread associated with thesaved state of the call thread only if the caller calls into theautomated voice response system within a predetermined time period.
 3. Amethod for providing communication with an automated voice responsesystem, comprising: establishing a first communication session between acaller and an automated voice system, the first communication sessioncomprising a call thread; receiving a signal indicative of a call event;in response to receiving the signal indicative of the call event, savinga state of the call thread; and establishing a second communicationsession between the caller and the automated voice system at a state ofthe call thread associated with the saved state of the call thread;wherein establishing a first communication session between a caller andan automated voice system comprises establishing a first communicationsystem between a caller and an automated voice system selected from thegroup consisting of a voicemail system and an interactive voice responsesystem without voicemail capability; wherein receiving a signalindicative of a call event comprises receiving a signal indicative of acall event selected from the group consisting of an on-hold event and adisconnect event; wherein the state of the call thread associated withthe saved state of the call thread is selected from the group consistingof the saved state of the called thread and 1-5 seconds before the savedstate of the called thread; wherein establishing a second communicationsession between the caller and the automated voice system at a state ofthe call thread associated with the saved state of the call threadcomprising: wherein establishing a second communication session betweenthe caller and the automated voice system at a state of the call threadassociated with the saved state of the call thread only if the callercalls into the automated voice response system within 15 minutes ofreceiving the call event; and further comprising identifying the callerupon the caller calling into the automated voice response system by anidentifier selected from the group consisting of an account numberentered by the caller, a calling number of the caller, and a callednumber of the caller.
 4. The method of claim 2, wherein establishing afirst communication session between a caller and an automated voicesystem comprises establishing a first communication system between acaller and an automated voice system selected from the group consistingof a voicemail system and an interactive voice response system withoutvoicemail capability.
 5. The method of claim 2, wherein receiving asignal indicative of a call event comprises receiving a signalindicative of a call event selected from the group consisting of anon-hold event and a disconnect event.
 6. The method of claim 2, whereinestablishing a second communication session between the caller and theautomated voice system at a state of the call thread associated with thesaved state of the call thread comprises identifying the caller upon thecaller calling into the automated voice response system.
 7. The methodof claim 6, wherein identifying the caller upon the caller calling intothe automated voice system comprises identifying the caller by anidentifier selected from the group consisting of an account numberentered by the caller, a calling number of the caller, and a callednumber of the caller.
 8. The method of claim 2, wherein thepredetermined time period is approximately 15 minutes.
 9. The method ofclaim 2, wherein the state of the call thread associated with the savedstate of the call thread is selected from the group consisting of thesaved state of the called thread and a predetermined time period beforethe saved state of the called thread.
 10. The method of claim 9, whereinthe predetermined time period is 1-5 seconds.
 11. The method of claim 2,wherein establishing a second communication session between the callerand the automated voice system at a state of the call thread associatedwith the saved state of the call thread comprises querying the callerregarding whether the caller wishes to resume the call thread at a stateassociated with the saved state of the call thread.
 12. An automatedvoice system comprising: a processor; and software encoded oncomputer-readable media that is operable when executed on the processorto: establish a first communication session between a caller and anautomated voice system, the first communication session comprising acall thread; receive a signal indicative of a call event; in response toreceiving the signal indicative of the call event, saving a state of thecall thread; and establish a second communication session between thecaller and the automated voice system at a state of the call threadassociated with the saved state of the call thread only if the callercalls into the automated voice system within a predetermined timeperiod.
 13. The automatic voice system of claim 12, wherein the softwareis further operable to: establish a first communication session betweena caller and an automated voice response system by establishing a firstcommunication system between a caller and an automated voice responsesystem selected from the group consisting of a voicemail system and aninteractive voice response system without voicemail capability; receivea signal indicative of a call event by receiving a signal indicative ofa call event selected from the group consisting of an on-hold event anda disconnect event; identify the caller upon the caller calling into theautomated voice response system by an identifier selected from the groupconsisting of an account number entered by the caller, a calling numberof the caller, and a called number of the caller.
 14. The automaticvoice system of claim 12, wherein the software is further operable toestablish a first communication session between a caller and anautomated voice system by establishing a first communication systembetween a caller and an automated voice system selected from the groupconsisting of a voicemail system and an interactive voice responsesystem without voicemail capability.
 15. The automatic voice system ofclaim 12, wherein the software is further operable to receive a signalindicative of a call event by receiving a signal indicative of a callevent selected from the group consisting of an on-hold event and adisconnect event.
 16. The automatic voice system of claim 12, whereinthe software is further operable to establish a second communicationsession between the caller and the automated voice system at a state ofthe call thread associated with the saved state of the call thread byidentifying the caller upon the caller calling into the automated voicesystem.
 17. The automatic voice system of claim 16, wherein the softwareis further operable to identify the caller upon the caller calling intothe automated voice system by an identifier selected from the groupconsisting of an account number entered by the caller, a calling numberof the caller, and a called number of the caller.
 18. The automaticvoice system of claim 12, wherein the predetermined time period isapproximately 15 minutes.
 19. The automatic voice system of claim 12,wherein the state of the call thread associated with the saved state ofthe call thread is selected from the group consisting of the saved stateof the called thread and a predetermined time period before the savedstate of the called thread.
 20. The automatic voice system of claim 19,wherein the predetermined time period is 1-5 seconds.
 21. The automaticvoice system of claim 12, wherein the software is further operable toquery the caller regarding whether the caller wishes to resume the callthread at a state associated with the saved state of the call thread.22. An automated voice system comprising: means for establishing a firstcommunication session between a caller and the automated voice system,the first communication session comprising a call thread; means forreceiving a signal indicative of a call event; means for saving a stateof the call thread in response to receiving the signal indicative of thecall event; and means for establishing a second communication sessionbetween the caller and the automated voice system at a state of the callthread associated with the saved state of the call thread only if thecaller calls into the automated voice system within a predetermined timeperiod.
 23. The automated voice system of claim 22, wherein the meansfor establishing a first communication session between a caller and anautomated voice system comprises means for establishing a firstcommunication system between a caller and an automated voice systemselected from the group consisting of a voicemail system and aninteractive voice system without voicemail capability.
 24. The automatedvoice system of claim 22, wherein the means for receiving a signalindicative of a call event comprises means for receiving a signalindicative of a call event selected from the group consisting of anon-hold event and a disconnect event.
 25. The automated voice system ofclaim 22, wherein the means for establishing a second communicationsession between the caller and the automated voice system at a state ofthe call thread associated with the saved state of the call threadcomprises means for identifying the caller upon the caller calling intothe automated voice system.
 26. The automated voice system of claim 25,wherein the means for identifying the caller upon the caller callinginto the automated voice system comprises means for identifying thecaller by an identifier selected from the group consisting of an accountnumber entered by the caller, a calling number of the caller, and acalled number of the caller.
 27. The automated voice system of claim 22,wherein the predetermined time period is approximately 15 minutes. 28.The automated voice system of claim 22, wherein the state of the callthread associated with the saved state of the call thread is selectedfrom the group consisting of the saved state of the called thread and apredetermined time period before the saved state of the called thread.29. The automated voice system of claim 28, wherein the predeterminedtime period is 1-5 seconds.